
**Populism and Academic Freedom
**February 2026

**INTRODUCTION
*¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

log using pubchoice

**FIGURE 2
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

set scheme plotplain
xtset countryn year
collapse (mean) pop_pm fr_pop_pm fl_pop_pm, by(year)
twoway (bar pop_pm year, color(black%10))(area fr_pop_pm year, color(green%20) lpattern(dash)) /// 
(line fl_pop_pm year,color(red%30) lpattern(solid)), title("Populist-led Governments") ytitle("Share") ///
ylabel(0(.1).35, format(%4.1f)) xlabel(#10, angle(45)) xtitle("Year") graphregion(color(white)) /// 
legend(label(1 "Populist") label(2 "Radical Right Populist") label(3 "Radical Left Populist") position(10) ring(0))
graph export "pop_pm.pdf", as(pdf) replace


**FIGURE 3
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

set scheme plotplain
xtset countryn year
gen pop_cab2=pop_cab if pop_pm==0
replace pop_cab2=pop_pm if pop_pm==1
gen pop_seat2=pop_seat/100
collapse (mean) pop_cab2 pop_seat2, by(year)
twoway (area pop_cab2 year, lcolor(red) color(red%10)) (line pop_seat2 year, lwidth(medthick) lcolor(blue)), ///
title("Governments and Parliament") ytitle("Share") ylabel(0(.1).6, format(%4.1f)) xlabel(#10, angle(45)) xtitle("Year") ///
graphregion(color(white)) legend(label(1 "Government coalitions with populist parties") /// 
label(2 "Seats in the parliament held by populist parties") position(10) ring(0))
graph export "pop_cab.pdf", as(pdf) replace


**FIGURE 4
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

set scheme plotplain
collapse (mean) acad_free_i, by(year) 
twoway (line acad_free_i year, lwidth(thick) lcolor(red)), ///
 title("Academic Freedom Index") ytitle("Index value") ylabel(.8(.05)1, format(%4.2f)) /// 
 xlabel(#10, angle(45)) xtitle("Year") graphregion(color(white))
graph export "afi_index.pdf", as(pdf) replace

clear
use populism_academic_freedom.dta

set scheme plotplain
collapse (mean) free_exch_diss_std free_res_tea_std inst_aut_std camp_inte_std free_ac_cult_std , by(year) 
twoway (line free_exch_diss_std year, lwidth(medthick) lcolor(blue)) ///
(line free_res_tea_std year, lwidth(medthick) lcolor(blue))(line inst_aut_std year, lwidth(medthick) lcolor(blue)) ///
(line camp_inte_std year, lwidth(medthick) lcolor(blue))(line free_ac_cult_std year, lwidth(medthick) lcolor(blue)), ///
 title("Academic Freedom Index - Components") ytitle("Standardized Value") ylabel(.4(.2)-1.2, format(%4.1f)) /// 
 xlabel(#10, angle(45)) yline(0) xtitle("Year") graphregion(color(white)) legend( /// 
 label(1 "Freedom of Academic Exchange and Dissemination") label(2 "Freedom to Research and Teach") label(3 "Institutional Autonomy") ///
 label(4 "Campus Integrity") label(5 "Freedom of Academic and Cultural Expression") position(7) ring(0))
graph export "afi_components_std.pdf", as(pdf) replace


**RESULTS
*¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬


**TABLE 1
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

xtreg acad_free_i_std l.acad_free_i_std pop_pm i.year, vce(cluster countryn) fe
estimates store m1

xtreg acad_free_i_std l.acad_free_i_std pop_pm i.year turnout enp av_ideo_gov majority ///
eu lngdp lnpopl gen_el, vce(cluster countryn) fe
estimates store m2

xtreg acad_free_i_std l.acad_free_i_std nr_pop_pm i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el ///
if fr_pop_pm==0, vce(cluster countryn) fe
estimates store m3

xtreg acad_free_i_std l.acad_free_i_std fr_pop_pm i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el ///
if nr_pop_pm==0, vce(cluster countryn) fe
estimates store m4

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store m5

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store m6

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store m7

esttab m1 m2 m3 m4 m5 m6 m7 using model1.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)

**power analysis
scalar se_x = _se[pop_pm]
display se_x
scalar z_alpha = invnormal(0.975)
scalar z_power = invnormal(0.80)
scalar MDE = (z_alpha + z_power) * se_x
display MDE

**FIGURE 6
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

cmp(free_exch_diss_std = l.free_exch_diss_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrbase1

cmp(free_res_tea_std = l.free_res_tea_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrbase2

cmp(inst_aut_std = l.inst_aut_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrbase3

cmp(camp_inte_std = l.camp_inte_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrbase4

cmp(free_ac_cult_std = l.free_ac_cult_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrbase5

set scheme plotplain
///install the cmd for creating graphs with multiple diagrams but a single legend
///ssc install grc1leg2, replace 

	coefplot (rrrbase1, label("Freedom of Academic Exchange and Dissemination") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(rrrbase2, label("Freedom to Research and Teach") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(rrrbase3, label("Institutional Autonomy") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(rrrbase4, label("Campus Integrity") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(rrrbase5, label("Freedom of Academic and Cultural Expression") mcolor(navy) ciopts(recast(rcap) lcolor(navy))), ///
    keep(nr_pop_pm) ///
	yscale(noline) ///
    xline(0, lcolor(red*0.5)) /// 
    mlabsize(small) /// 
    msize(medium) ///
    legend(off) ///
    title("Non-Radical-Right Populist") ///
	coeflabels(nr_pop_pm = " ", notick) //
	graph save nraficomponents.gph, replace
	
cmp(free_exch_diss_std = l.free_exch_diss_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrrbase1

cmp(free_res_tea_std = l.free_res_tea_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrrbase2

cmp(inst_aut_std = l.inst_aut_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrrbase3

cmp(camp_inte_std = l.camp_inte_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrrbase4

cmp(free_ac_cult_std = l.free_ac_cult_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrrbase5

	coefplot (rrrrbase1, label("Freedom of Academic Exchange and Dissemination") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(rrrrbase2, label("Freedom to Research and Teach") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(rrrrbase3, label("Institutional Autonomy") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(rrrrbase4, label("Campus Integrity") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(rrrrbase5, label("Freedom of Academic and Cultural Expression") mcolor(navy) ciopts(recast(rcap) lcolor(navy))), ///
    keep(fr_pop_pm) ///
	yscale(noline) ///
    xline(0, lcolor(red*0.5)) /// 
    mlabsize(small) /// 
    msize(medium) /// 
    legend(position(5) ring(1) cols(2)) ///
    title("Radical Right Populist") ///
	coeflabels(fr_pop_pm = " ", notick) //
	graph save fraficomponents.gph, replace
	
	grc1leg2 nraficomponents.gph fraficomponents.gph, legendfrom(fraficomponents.gph)
	
	graph export aficomponents.pdf, replace

	
**FIGURE 7
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

gen pop1=0 if pop_terms==0
replace pop1=1 if pop_terms==1

gen pop2=0 if pop_terms==0
replace pop2=1 if pop_terms>=2

gen pterms=0 if pop_pm==0
replace pterms=1 if pop_pm==1 & pop_terms==1
replace pterms=2 if pop_pm==1 & pop_terms>=2

gen nrterms=0 if nr_pop_pm==0
replace nrterms=1 if nr_pop_pm==1 & pop_terms==1
replace nrterms=2 if nr_pop_pm==1 & pop_terms>=2

gen frterms=0 if fr_pop_pm==0
replace frterms=1 if fr_pop_pm==1 & pop_terms==1
replace frterms=2 if fr_pop_pm==1 & pop_terms>=2
	
cmp(acad_free_i_std = l.acad_free_i_std i.pterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store t4

cmp(acad_free_i_std = l.acad_free_i_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store t5

cmp(acad_free_i_std = l.acad_free_i_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store t6

	set scheme plotplain

	coefplot (t4, label("Populist") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(t5, label("Non-Radical Right Populist") mcolor(navy) msymbol(t) ciopts(recast(rcap) lcolor(navy))) ///
	(t6, label("Radical Right Populist") mcolor(navy) msymbol(d) ciopts(recast(rcap) lcolor(navy))), ///
    keep(1.pterms 1.nrterms 1.frterms) ///
	yscale(noline) ///
    xline(0, lcolor(red*0.5)) ///
    mlabsize(small) ///
    msize(medium) /// 
    legend(off) ///
    title("First Term") ///
	coeflabels(1.pterms 1.nrterms 1.frterms = " ", notick) //
	graph save fterms.gph, replace

	coefplot (t4, label("Populist") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(t5, label("Non-Radical Right Populist") mcolor(navy) msymbol(t) ciopts(recast(rcap) lcolor(navy))) ///
	(t6, label("Radical Right Populist") mcolor(navy) msymbol(d) ciopts(recast(rcap) lcolor(navy))), ///
    keep(2.pterms 2.nrterms 2.frterms) ///
	yscale(noline) ///
    xline(0, lcolor(red*0.5)) ///
    mlabsize(small) ///
    msize(medium) ///
    legend(position(5) ring(1) cols(1)) ///
    title("Subsequent Terms") ///
	coeflabels(2.pterms 2.nrterms 2.frterms = " ", notick) //
	graph save sfterms.gph, replace

	grc1leg2 fterms.gph sfterms.gph, legendfrom(fterms.gph)
	
	graph export terms.pdf, replace

	
**FIGURE 8
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

gen nrterms=0 if nr_pop_pm==0
replace nrterms=1 if nr_pop_pm==1 & pop_terms==1
replace nrterms=2 if nr_pop_pm==1 & pop_terms>=2

gen frterms=0 if fr_pop_pm==0
replace frterms=1 if fr_pop_pm==1 & pop_terms==1
replace frterms=2 if fr_pop_pm==1 & pop_terms>=2

xtset countryn year

cmp(free_exch_diss_std = l.free_exch_diss_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrbase1

cmp(free_res_tea_std = l.free_res_tea_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrbase2

cmp(inst_aut_std = l.inst_aut_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrbase3

cmp(camp_inte_std = l.camp_inte_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrbase4

cmp(free_ac_cult_std = l.free_ac_cult_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrbase5

///

cmp(free_exch_diss_std = l.free_exch_diss_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrrbase1

cmp(free_res_tea_std = l.free_res_tea_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrrbase2

cmp(inst_aut_std = l.inst_aut_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrrbase3

cmp(camp_inte_std = l.camp_inte_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrrbase4

cmp(free_ac_cult_std = l.free_ac_cult_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrrbase5

set scheme plotplain

	coefplot (ftrrrbase1, label("Freedom of Academic Exchange and Dissemination") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrbase2, label("Freedom to Research and Teach") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrbase3, label("Institutional Autonomy") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrbase4, label("Campus Integrity") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrbase5, label("Freedom of Academic and Cultural Expression") mcolor(navy) ciopts(recast(rcap) lcolor(navy))), ///
    keep(1.nrterms) ///
	yscale(noline) ///
    xline(0, lcolor(red*0.5)) /// 
    mlabsize(small) /// 
    msize(medium) /// 
    legend(off) ///
    title("Non-Radical-Right Populist (first term)") ///
	coeflabels(1.nrterms = " ", notick) //
	graph save ftnraficomponents.gph, replace
	
	coefplot (ftrrrrbase1, label("Freedom of Academic Exchange and Dissemination") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrrbase2, label("Freedom to Research and Teach") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrrbase3, label("Institutional Autonomy") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrrbase4, label("Campus Integrity") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrrbase5, label("Freedom of Academic and Cultural Expression") mcolor(navy) ciopts(recast(rcap) lcolor(navy))), ///
    keep(1.frterms) ///
    yscale(noline) ///
	xline(0, lcolor(red*0.5)) /// 
    mlabsize(small) /// 
    msize(medium) /// 
    legend(off) ///
    title("Radical Right Populist (first term)") ///
	coeflabels(1.frterms = " ", notick) //
	graph save ftfraficomponents.gph, replace
	
	coefplot (ftrrrbase1, label("Freedom of Academic Exchange and Dissemination") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrbase2, label("Freedom to Research and Teach") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrbase3, label("Institutional Autonomy") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrbase4, label("Campus Integrity") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrbase5, label("Freedom of Academic and Cultural Expression") mcolor(navy) ciopts(recast(rcap) lcolor(navy))), ///
    keep(2.nrterms) ///
	yscale(noline) ///
    xline(0, lcolor(red*0.5)) /// 
    mlabsize(small) /// 
    msize(medium) /// 
    legend(off) ///
    title("Non-Radical-Right Populist (subsequent terms)") ///
	coeflabels(2.nrterms = " ", notick) //
	graph save mtnraficomponents.gph, replace
	
	coefplot (ftrrrrbase1, label("Freedom of Academic Exchange and Dissemination") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrrbase2, label("Freedom to Research and Teach") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrrbase3, label("Institutional Autonomy") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrrbase4, label("Campus Integrity") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(ftrrrrbase5, label("Freedom of Academic and Cultural Expression") mcolor(navy) ciopts(recast(rcap) lcolor(navy))), ///
    keep(2.frterms) ///
	yscale(noline) ///
    xline(0, lcolor(red*0.5)) /// 
    mlabsize(small) /// 
    msize(medium) /// 
    legend(position(5) ring(1) cols(2)) ///
    title("Radical Right Populist (subsequent terms)") ///
	coeflabels(2.frterms = " ", notick) //
	graph save mtfraficomponents.gph, replace
	
	grc1leg2 ftnraficomponents.gph ftfraficomponents.gph mtnraficomponents.gph mtfraficomponents.gph, legendfrom(mtfraficomponents.gph) 
	
	graph export termsaficomponents.pdf, replace	
	
	
**FIGURE 9
*-------------------------------------------------------------------------------	

clear
use populism_academic_freedom.dta

xtset countryn year

cmp(free_exp_std = l.free_exp_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp7

cmp(free_exp_std = l.free_exp_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp8

cmp(free_exp_std = l.free_exp_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp9

cmp(alt_sour_inf_std = l.alt_sour_inf_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp10

cmp(alt_sour_inf_std = l.alt_sour_inf_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp11

cmp(alt_sour_inf_std = l.alt_sour_inf_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp12

	coefplot (sp7, label("Populist") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(sp8, label("Non-Radical Right Populist") mcolor(navy) msymbol(t) ciopts(recast(rcap) lcolor(navy))) ///
	(sp9, label("Radical Right Populist") mcolor(navy) msymbol(d) ciopts(recast(rcap) lcolor(navy))), ///
    keep(pop_pm nr_pop_pm fr_pop_pm) ///
    xline(0, lcolor(red*0.5)) /// 
	yscale(noline) ///
    mlabsize(small) /// 
    msize(medium) /// 
    legend(off) ///
    title("Freedom of Expression Index") ///
	coeflabels(pop_pm nr_pop_pm fr_pop_pm = " ", notick) //
	graph save fei.gph, replace

	coefplot (sp10, label("Populist") mcolor(navy) ciopts(recast(rcap) lcolor(navy))) ///
	(sp11, label("Non-Radical Right Populist") mcolor(navy) msymbol(t) ciopts(recast(rcap) lcolor(navy))) ///
	(sp12, label("Radical Right Populist") mcolor(navy) msymbol(d) ciopts(recast(rcap) lcolor(navy))), ///
    keep(pop_pm nr_pop_pm fr_pop_pm) ///
    xline(0, lcolor(red*0.5)) /// 
	yscale(noline) ///
    mlabsize(small) /// 
    msize(medium) /// 
    legend(position(5) ring(1) cols(2)) ///
    title("Alternative Sources of Information Index") ///
	coeflabels(pop_pm nr_pop_pm fr_pop_pm = " ", notick) //
	graph save asi.gph, replace

	grc1leg2 fei.gph asi.gph, legendfrom(asi.gph)
	
	graph export freedomexpression.pdf, replace	
	
	
**APPENDIX
*¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
	

**APPENDIX A
*¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬


**TABLE A2**
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta
    
sum turnout enp av_ideo_gov pop_pm nr_pop_pm fr_pop_pm pop_cab nr_pop_cab fr_pop_cab ///
pop_seat nr_pop_seat frpop_seat pop_polls nr_pop_polls frpop_polls ///
majority eu lngdp lnpopl season av_temp av_prec

**APPENDIX B
*¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

**FIGURE B1**
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta
set scheme plotplain
    
histogram av_temp if gen_el==1
graph save histtemp.gph, replace

graph combine histtemp.gph
graph export histogram.pdf, replace

**TABLE B3**
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fs1

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fs2

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fs3

esttab fs1 fs2 fs3 using firststage1.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)


**TABLE B4**
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el z_cold z_hot), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fsc1

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el z_cold z_hot) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fsc2

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el z_cold z_hot) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fsc3

esttab fsc1 fsc2 fsc3 using firststagecomp1.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)


**FIGURE B3**
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

preserve
xtile wbin = bad_weather, nq(20)
bysort wbin: egen pop_pm_share = mean(pop_pm)
twoway scatter pop_pm_share bad_weather, sort ///
    ylabel(, format(%4.3f) angle(0) grid) ///
	ytitle("Populist Governments (average)") ///
    yscale(range(0 .2)) ///
    ylabel(0(.05).2)
	graph export "pop_weather.pdf", as(pdf) replace
restore

preserve
xtile wbin = bad_weather, nq(20)
bysort wbin: egen fr_pop_pm_share = mean(fr_pop_pm)
twoway scatter fr_pop_pm_share bad_weather, sort ///
    ylabel(, format(%4.3f) angle(0) grid) ///
	ytitle("Radical Right Populist Governments (average)") ///
    yscale(range(0 .15)) ///
    ylabel(0(.05).15)
	graph export "fr_pop_weather.pdf", as(pdf) replace
restore


**TABLE B5**
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather1), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fscr1

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather1) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fscr2

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather1) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fscr3

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather2), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fscr4

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather2) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fscr5

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather2) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fscr6

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather3), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fscr7

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather3) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fscr8

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather3) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store fscr9

esttab fscr1 fscr2 fscr3 fscr4 fscr5 fscr6 fscr7 fscr8 fscr9 using firststagecomprob1.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)

**FIGURE B4**
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

quietly probit pop_pm turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather, vce(cluster countryn)
scalar z_obs = abs(_b[bad_weather] / _se[bad_weather])
display as txt "Observed |z| (probit, cluster countryn): " %6.3f z_obs

capture program drop z_badweather
program define z_badweather, rclass
    quietly probit pop_pm turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather, vce(cluster countryn)
    return scalar stat = abs(_b[bad_weather] / _se[bad_weather])
end

set seed 20260109
permute bad_weather r(stat), reps(5000) nodots saving(ptest_probit, replace): z_badweather

preserve
use ptest_probit, clear
describe
summarize _pm_1
count if _pm_1 >= `=z_obs'
scalar p_perm = r(N) / _N
display as txt "Permutation p-value (two-sided, |z|): " %6.4f p_perm

twoway (histogram _pm_1, color(navy)), title("Distribution of placebo estimates") xtitle("Estimates") ytitle("Frequency") xline(`=z_obs', lcolor(red) lwidth(medthick)) name(perm_hist, replace)
graph export "placebodistr.pdf", as(pdf) replace
restore

**TABLE B6**
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

xtreg l.acad_free_i_std l2.acad_free_i_std i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather if pop_pm==0, vce(cluster countryn) fe
estimates store pre1

xtreg l2.acad_free_i_std l3.acad_free_i_std i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather if pop_pm==0, vce(cluster countryn) fe
estimates store pre2

xtreg l3.acad_free_i_std l4.acad_free_i_std i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather if pop_pm==0, vce(cluster countryn) fe
estimates store pre3

esttab pre1 pre2 pre3 using pretrends.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)


**TABLE B7**
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el av_prec), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rain1

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el av_prec) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rain2

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el av_prec) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rain3

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el c.av_prec##c.av_prec), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rain4

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el c.av_prec##c.av_prec) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rain5

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el c.av_prec##c.av_prec) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rain6

esttab rain1 rain2 rain3 rain4 rain5 rain6 using rain.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)


**TABLE B8**
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

* Instrument (Index - Rain)
gen rain_light = av_prec if av_prec>0 & av_prec<10
replace rain_light=0 if av_prec==0 | av_prec>=10
gen rain_heavy = av_prec if av_prec>=10
replace rain_heavy=0 if av_prec<10
egen z_rain_light = std(rain_light)
egen z_rain_heavy  = std(rain_heavy)
gen bad_weather_rain = z_rain_light + z_rain_heavy

* Instrument (Index - Rain (v2))
gen rain_light2 = 1 if av_prec>0 & av_prec<10
replace rain_light2=0 if av_prec==0 | av_prec>=10
gen rain_heavy2 = 2 if av_prec>=10
replace rain_heavy2=0 if av_prec<10
gen bad_weather_rain_alternative = rain_light2 + rain_heavy2

xtset countryn year

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store indexrain1

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store indexrain2

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store indexrain3

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather2), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store indexrain4

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather2) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store indexrain5

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather2) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store indexrain6

esttab indexrain1 indexrain2 indexrain3 indexrain4 indexrain5 indexrain6 using indexrain.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)


**TABLE B9**
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

gen av_temp_season=av_temp-seasonal_av
gen av_temp_month=av_temp-month_av

xtset countryn year

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el av_temp_season), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store averages1

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el av_temp_season) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store averages2

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el av_temp_season) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store averages3

cmp(acad_free_i_std = l.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el av_temp_month), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store averages4

cmp(acad_free_i_std = l.acad_free_i_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el av_temp_month) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store averages5

cmp(acad_free_i_std = l.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el av_temp_month) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store averages6

esttab averages1 averages2 averages3 averages4 averages5 averages6 using averages.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)


**APPENDIX C
*¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

**TABLE C1
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

//1. FIRST DIFFERENCES

xtreg d.acad_free_i_std l.d.acad_free_i_std pop_pm i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el, vce(cluster countryn) fe
estimates store robustness1

cmp(d.acad_free_i_std = l.d.acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store robustness4

//2. HIGHER ORDER 

xtreg acad_free_i_std l(1/2).acad_free_i_std pop_pm i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el, vce(cluster countryn) fe
estimates store robustness2

cmp(acad_free_i_std = l(1/2).acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store robustness5

xtreg acad_free_i_std l(1/3).acad_free_i_std pop_pm i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el, vce(cluster countryn) fe
estimates store robustness3

cmp(acad_free_i_std = l(1/3).acad_free_i_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store robustness6

esttab robustness1 robustness4 robustness2 robustness5 robustness3 robustness6 using robustness1.tex, ///
replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.2f)


**TABLE C2
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

xtreg d.acad_free_i_std l.d.acad_free_i_std fr_pop_pm i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el if nr_pop_pm==0, vce(cluster countryn) fe
estimates store frobustness1

cmp(d.acad_free_i_std = l.d.acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store frobustness4

xtreg acad_free_i_std l(1/2).acad_free_i_std fr_pop_pm i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el, vce(cluster countryn) fe
estimates store frobustness2

cmp(acad_free_i_std = l(1/2).acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store frobustness5

xtreg acad_free_i_std l(1/3).acad_free_i_std fr_pop_pm i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el, vce(cluster countryn) fe
estimates store frobustness3

cmp(acad_free_i_std = l(1/3).acad_free_i_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store frobustness6

esttab frobustness1 frobustness4 frobustness2 frobustness5 frobustness3 frobustness6 using frobustness1.tex, ///
replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.2f)


**TABLE C3
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

cmp(free_exch_diss_std = l.free_exch_diss_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrbase1

cmp(free_res_tea_std = l.free_res_tea_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrbase2

cmp(inst_aut_std = l.inst_aut_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrbase3

cmp(camp_inte_std = l.camp_inte_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrbase4

cmp(free_ac_cult_std = l.free_ac_cult_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrbase5

esttab rrrbase1 rrrbase2 rrrbase3 rrrbase4 rrrbase5 using rrrbase.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.2f)


**TABLE C4
*-------------------------------------------------------------------------------	
	
cmp(free_exch_diss_std = l.free_exch_diss_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrrbase1

cmp(free_res_tea_std = l.free_res_tea_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrrbase2

cmp(inst_aut_std = l.inst_aut_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrrbase3

cmp(camp_inte_std = l.camp_inte_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrrbase4

cmp(free_ac_cult_std = l.free_ac_cult_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store rrrrbase5

esttab rrrrbase1 rrrrbase2 rrrrbase3 rrrrbase4 rrrrbase5 using rrrrbase.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.2f)


**TABLE C5
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

gen pop1=0 if pop_terms==0
replace pop1=1 if pop_terms==1

gen pop2=0 if pop_terms==0
replace pop2=1 if pop_terms>=2

gen pterms=0 if pop_pm==0
replace pterms=1 if pop_pm==1 & pop_terms==1
replace pterms=2 if pop_pm==1 & pop_terms>=2

gen nrterms=0 if nr_pop_pm==0
replace nrterms=1 if nr_pop_pm==1 & pop_terms==1
replace nrterms=2 if nr_pop_pm==1 & pop_terms>=2

gen frterms=0 if fr_pop_pm==0
replace frterms=1 if fr_pop_pm==1 & pop_terms==1
replace frterms=2 if fr_pop_pm==1 & pop_terms>=2
	
cmp(acad_free_i_std = l.acad_free_i_std i.pterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store t4

cmp(acad_free_i_std = l.acad_free_i_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store t5

cmp(acad_free_i_std = l.acad_free_i_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store t6

esttab t4 t5 t6 using modeltermscomplete.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)


**TABLE C6
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

gen nrterms=0 if nr_pop_pm==0
replace nrterms=1 if nr_pop_pm==1 & pop_terms==1
replace nrterms=2 if nr_pop_pm==1 & pop_terms>=2

gen frterms=0 if fr_pop_pm==0
replace frterms=1 if fr_pop_pm==1 & pop_terms==1
replace frterms=2 if fr_pop_pm==1 & pop_terms>=2

xtset countryn year

cmp(free_exch_diss_std = l.free_exch_diss_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrbase1

cmp(free_res_tea_std = l.free_res_tea_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrbase2

cmp(inst_aut_std = l.inst_aut_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrbase3

cmp(camp_inte_std = l.camp_inte_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrbase4

cmp(free_ac_cult_std = l.free_ac_cult_std i.nrterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nrterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if frterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrbase5

esttab ftrrrbase1 ftrrrbase2 ftrrrbase3 ftrrrbase4 ftrrrbase5 using termscomponent.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)

**TABLE C7
*-------------------------------------------------------------------------------

cmp(free_exch_diss_std = l.free_exch_diss_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrrbase1

cmp(free_res_tea_std = l.free_res_tea_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrrbase2

cmp(inst_aut_std = l.inst_aut_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrrbase3

cmp(camp_inte_std = l.camp_inte_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrrbase4

cmp(free_ac_cult_std = l.free_ac_cult_std i.frterms ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(frterms = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nrterms==0, ///
indicator(1 5) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store ftrrrrbase5

esttab ftrrrrbase1 ftrrrrbase2 ftrrrrbase3 ftrrrrbase4 ftrrrrbase5 using termscomponentfr.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)


**TABLE C8
*-------------------------------------------------------------------------------

clear
use populism_academic_freedom.dta

xtset countryn year

cmp(free_exp_std = l.free_exp_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp7

cmp(free_exp_std = l.free_exp_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp8

cmp(free_exp_std = l.free_exp_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp9

esttab sp7 sp8 sp9 using spexp.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)

**TABLE C9
*-------------------------------------------------------------------------------

cmp(alt_sour_inf_std = l.alt_sour_inf_std pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather), ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp10

cmp(alt_sour_inf_std = l.alt_sour_inf_std nr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(nr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if fr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp11

cmp(alt_sour_inf_std = l.alt_sour_inf_std fr_pop_pm ib2001.year i.countryn turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el) ///
(fr_pop_pm = turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el bad_weather) if nr_pop_pm==0, ///
indicator(1 4) vce(cluster countryn) nolr redraws(101, anti) tech(dfp)
estimates store sp12

esttab sp10 sp11 sp12 using spinf.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)

**TABLE C10
*-------------------------------------------------------------------------------	

clear
use populism_academic_freedom.dta

xtset countryn year

xtreg acad_free_i_std l.acad_free_i_std pop_cab i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el ///
if pop_pm==0, fe vce(cluster countryn) 
estimates store c5

xtreg acad_free_i_std l.acad_free_i_std nr_pop_cab i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el ///
if pop_pm==0 & fr_pop_cab==0, fe vce(cluster countryn) 
estimates store c6

xtreg acad_free_i_std l.acad_free_i_std fr_pop_cab i.year turnout enp av_ideo_gov majority eu lngdp lnpopl gen_el ///
if pop_pm==0 & nr_pop_cab==0, fe vce(cluster countryn) 
estimates store c7

esttab c5 c6 c7 using cab.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)

**TABLE C11
*-------------------------------------------------------------------------------	

xtreg acad_free_i_std l.acad_free_i_std pop_seat i.year turnout enp av_ideo_gov majority eu lngdp lnpopl ///
gen_el if pop_pm==0, fe vce(cluster countryn)
estimates store s5

xtreg acad_free_i_std l.acad_free_i_std nr_pop_seat i.year turnout enp av_ideo_gov majority eu lngdp lnpopl ///
gen_el if pop_pm==0, fe vce(cluster countryn)
estimates store s6

xtreg acad_free_i_std l.acad_free_i_std frpop_seat i.year turnout enp av_ideo_gov majority eu lngdp lnpopl ///
gen_el if pop_pm==0, fe vce(cluster countryn)
estimates store s7

esttab s5 s6 s7 using seats.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)
	

**TABLE C12
*-------------------------------------------------------------------------------	

clear
use populism_academic_freedom.dta

xtset countryn year

gen nr_pop_pm_a1=pop_pm_a1
replace nr_pop_pm_a1=0 if fr_pop_pm_a1==1

gen nr_pop_pm_a2=pop_pm_a2
replace nr_pop_pm_a2=0 if fr_pop_pm_a2==1

xtreg acad_free_i_std l.acad_free_i_std pop_pm_a1 i.year turnout enp av_ideo_gov majority ///
eu lngdp lnpopl gen_el, vce(cluster countryn) fe
	estimates store after1
	
xtreg acad_free_i_std l.acad_free_i_std nr_pop_pm_a1 i.year turnout enp av_ideo_gov majority gen_el ///
eu lngdp lnpopl gen_el, vce(cluster countryn) fe
	estimates store after2
	
xtreg acad_free_i_std l.acad_free_i_std fr_pop_pm_a1 i.year turnout enp av_ideo_gov majority gen_el ///
eu lngdp lnpopl gen_el, vce(cluster countryn) fe
	estimates store after3
	
xtreg acad_free_i_std l.acad_free_i_std pop_pm_a2 i.year turnout enp av_ideo_gov majority ///
eu lngdp lnpopl gen_el, vce(cluster countryn) fe
	estimates store after4
	
xtreg acad_free_i_std l.acad_free_i_std nr_pop_pm_a2 i.year turnout enp av_ideo_gov majority gen_el ///
eu lngdp lnpopl gen_el, vce(cluster countryn) fe
	estimates store after5
	
xtreg acad_free_i_std l.acad_free_i_std fr_pop_pm_a2 i.year turnout enp av_ideo_gov majority gen_el ///
eu lngdp lnpopl gen_el, vce(cluster countryn) fe
	estimates store after6

esttab after1 after2 after3 after4 after5 after6 using after.tex, replace se r2 pr2 star(* 0.10 ** 0.05 *** 0.01) nolz b(%5.3f)

log close

